package com.meimeixia.pattern.prototype.test1;

import java.io.*;

/**
 * @author liayun
 * @create 2021-06-02 6:55
 */
public class CitationTest {
    public static void main(String[] args) throws Exception {
        // 1. 创建原型对象
        Citation citation = new Citation();
        // 创建张三学生对象
        Student stu = new Student();
        stu.setName("张三");
        citation.setStu(stu);

        // 创建对象输出流对象
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:/robin/a.txt"));
        // 写对象
        oos.writeObject(citation);
        // 释放资源
        oos.close();

        // 创建对象输入流对象
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:/robin/a.txt"));
        // 读取对象
        Citation citation1 = (Citation) ois.readObject();
        // 释放资源
        ois.close();

        // 将克隆出来的奖状中的学生姓名改为李四
        Student stu1 = citation1.getStu();
        stu1.setName("李四");

        // 此时，原先的奖状中的学生姓名也会随之改为李四吗？
        citation.show();
        citation1.show();
    }
}
